1. Field of the Invention
The present invention relates generally to computer systems and more particularly, but not exclusively, to methods and apparatus for distributing updates for computer security and screening products.
2. Description of the Background Art
Computer viruses, worms, Trojans, and spyware are examples of malicious codes that have plagued computer systems throughout the world. Although there are technical differences between each type of malicious code, malicious codes are collectively referred to herein as “viruses”, as is common in the industry. Generally speaking, a computer virus can corrupt or delete important files, send e-mails without user authorization, render a computer inoperable, or cause other types of damage to a computer. Computers may incorporate antivirus programs as a protective measure against viruses.
A typical antivirus program uses a pattern file to scan a computer for viruses. The pattern file includes the patterns (also referred to as “signatures”) of known viruses, algorithms for detecting viruses, and/or other antivirus-related information. The antivirus program uses the pattern file as a reference in determining if data, such as those in files, contain a virus. Antivirus programs, including their pattern files, may be continually updated to keep up with new viruses. These updates to antivirus programs are typically delivered from an antivirus support server computer to a customer client computer over a computer network, such as the Internet. The antivirus program in the customer client computer periodically polls the support server computer for new updates. Although workable, this approach has a major limitation. Updates need to be timely delivered to the client computer in the event of a new virus outbreak. If the time interval between polling is configured to be short, the support server computer will require a large amount of bandwidth to be able to serve a lot of customer client computers. If the time interval between polling is large, timely delivery of updates is compromised. What is needed is an improved technique for timely delivery of updates to computer security and screening products, such as antivirus programs in customer client computers.